package org.jeecg.modules.foc.entity;

import java.io.Serializable;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;

/**
 * @Description: 点位管理
 * @Author: jeecg-boot
 * @Date: 2025-01-10
 * @Version: V1.0
 */
@Data
@TableName("foc_point")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "foc_point对象", description = "点位管理")
public class FocPoint {


    /**
     * id
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "ids")
    private String ids;
    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "id")
    private java.lang.Integer id;
    /**
     * guid
     */
    @Excel(name = "guid", width = 15)
    @ApiModelProperty(value = "guid")
    private java.lang.String guid;
    /**
     * tag
     */
    @Excel(name = "tag", width = 15)
    @ApiModelProperty(value = "tag")
    private java.lang.String tag;
    /**
     * path
     */
    @Excel(name = "path", width = 15)
    @ApiModelProperty(value = "path")
    private java.lang.String path;
    /**
     * name
     */
    @Excel(name = "name", width = 15)
    @ApiModelProperty(value = "name")
    private java.lang.String name;
    /**
     * （1 空间节点   2设备节点   3 点位节点）
     */
    @Excel(name = "（1 空间节点   2设备节点   3 点位节点）", width = 15)
    @ApiModelProperty(value = "（1 空间节点   2设备节点   3 点位节点）")
    private java.lang.Integer nodeType;
    /**
     * 删除状态
     */
    @Excel(name = "删除状态", width = 15)
    @ApiModelProperty(value = "删除状态")
    @TableLogic
    private java.lang.Integer delFlag;
    /**
     * 创建人
     */
    @Excel(name = "创建人", width = 15)
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
    /**
     * 创建时间
     */
    @Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
    /**
     * 更新人
     */
    @Excel(name = "更新人", width = 15)
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
    /**
     * 更新时间
     */
    @Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
    private java.util.Date updateTime;
    /**
     * 点位分类Point type：1=AI；2=DI；3=AO；
     * 4=DO；5=Alarm。
     */
    @Excel(name = "点位分类Point type：1=AI；2=DI；3=AO； 4=DO；5=Alarm。", width = 15)
    @ApiModelProperty(value = "点位分类Point type：1=AI；2=DI；3=AO； 4=DO；5=Alarm。")
    private java.lang.String pointType;
    /**
     * 点位的单位
     */
    @Excel(name = "点位的单位", width = 15)
    @ApiModelProperty(value = "点位的单位")
    private java.lang.String unit;
    /**
     * DI/DO的取值含义。格式如：“1=开门;0=关
     * 门”。
     * DI/DO的取值含义。格式如：“1=开门;0=关 必须是数值型的值。
     */
    @Excel(name = "DI/DO的取值含义。格式如：“1=开门;0=关 门”。 DI/DO的取值含义。格式如：“1=开门;0=关 必须是数值型的值。", width = 15)
    @ApiModelProperty(value = "DI/DO的取值含义。格式如：“1=开门;0=关 门”。 DI/DO的取值含义。格式如：“1=开门;0=关 必须是数值型的值。")
    private java.lang.String statusMap;
    /**
     * 告警级别
     */
    @Excel(name = "告警级别", width = 15)
    @ApiModelProperty(value = "告警级别")
    private java.lang.Integer alarmLevel;
    /**
     * 告警类型
     */
    @Excel(name = "告警类型", width = 15)
    @ApiModelProperty(value = "告警类型")
    private java.lang.Integer alarmType;
    /**
     * 上传数据的时间间隔，单位秒
     */
    @Excel(name = "上传数据的时间间隔，单位秒", width = 15)
    @ApiModelProperty(value = "上传数据的时间间隔，单位秒")
    private java.lang.Integer period;
    /**
     * 变比
     */
    @Excel(name = "变比", width = 15)
    @ApiModelProperty(value = "变比")
    private java.lang.Float percentage;
    /**
     * 绝对值变比
     */
    @Excel(name = "绝对值变比", width = 15)
    @ApiModelProperty(value = "绝对值变比")
    private java.lang.Float absValue;
    /**
     * AO的合法控制范围。max=30。默认NULL，
     * AO的合法控制范围。不生效。
     */
    @Excel(name = "AO的合法控制范围。max=30。默认NULL， AO的合法控制范围。不生效。", width = 15)
    @ApiModelProperty(value = "AO的合法控制范围。max=30。默认NULL， AO的合法控制范围。不生效。")
    private java.lang.String aoMaxBound;
    /**
     * 围
     */
    @Excel(name = " 围 ", width = 15)
    @ApiModelProperty(value = " 围 ")
    private java.lang.String aoMinBound;
    /**
     * parentGuid
     */
    @Excel(name = "parentGuid", width = 15)
    @ApiModelProperty(value = "parentGuid")
    private java.lang.String parentGuid;

    @Excel(name = "映射监测类型", width = 15)
    @ApiModelProperty(value = "映射监测类型")
    private java.lang.String mpPorintType;

    @Excel(name = "标准监控信息名称", width = 15)
    @ApiModelProperty(value = "标准监控信息名称")
    private java.lang.String mpPointName;
    @Excel(name = "信号类型", width = 15)
    @ApiModelProperty(value = "信号类型")
    private java.lang.String mpSingType;
    @Excel(name = "映射告警信息", width = 15)
    @ApiModelProperty(value = "映射告警信息")
    private java.lang.String mpAlarm;

    @Excel(name = "编码", width = 15)
    @ApiModelProperty(value = "编码")
    private java.lang.String mpCode;

    @Excel(name = "映射设备类型", width = 15)
    @ApiModelProperty(value = "映射设备类型 ")
    private java.lang.String mpDeviceType;

    @Excel(name = "映射设备大类", width = 15)
    @ApiModelProperty(value = "映射设备大类 ")
    private java.lang.String mpBigType;

    @Excel(name = "数据类型：Digital（数字量）、Analog（模拟量）", width = 15)
    @ApiModelProperty(value = "数据类型：Digital（数字量）、Analog（模拟量）")
    private java.lang.String type;


    @ApiModelProperty(value = "监控数据标识号，主键字段，用于唯一标识每条信号数据")
    private java.lang.String cnId;
    @Excel(name = "信号名称，用于描述信号的名称", width = 15)
    @ApiModelProperty(value = "信号名称，用于描述信号的名称")
    private java.lang.String signalname;

    /**
     * 编码和名称
     */
    @Excel(name = "编码和名称", width = 15)
    @ApiModelProperty(value = "编码和名称")
    private java.lang.String codeAndName;
    /**
     * 序号
     */
    @Excel(name = "序号", width = 15)
    @ApiModelProperty(value = "序号")
    private Integer secno;


    /**
     * 序号
     */
    @Excel(name = "查询类型", width = 15)
    @ApiModelProperty(value = "查询类型,1查询已映射，2查询未映射")
    @TableField(exist = false)
    private String queryType;


    /**
     * 序号
     */
    @Excel(name = "查询类型", width = 15)
    @ApiModelProperty(value = "查询类型,1正常操作，2取消映射")
    @TableField(exist = false)
    private String optionType;


}
